home *** CD-ROM | disk | FTP | other *** search
- REM $INCLUDE: 'fastgraf.bi'
-
- DEFINT A-Z
-
- DIM Xmin(12), Ymax(12)
-
- CONST Visual = 0
- CONST Hidden = 1
-
- SetMemStatus& = SETMEM(-1*(64000+16))
-
- REM Xmin values
- DATA 0, 96,192, 0, 96,192, 0, 96,192, 0, 96,192
-
- REM Ymax values
- DATA 49, 49, 49, 99, 99, 99,149,149,149,199,199,199
-
- REM initialize the video environment
-
- NewMode = FGbestmode(320,200,2)
- IF NewMode < 0 OR NewMode = 12 THEN
- PRINT "This program requires a 320 x 200 color graphics mode."
- STOP
- END IF
- OldMode = FGgetmode
- FGsetmode NewMode
- Status = FGallocate(Hidden)
-
- REM fill the Xmin and Ymax arrays
-
- FOR I = 0 TO 11
- READ Xmin(I)
- NEXT
- FOR I = 0 TO 11
- READ Ymax(I)
- NEXT
-
- REM draw the background in the upper left corner
-
- FGsetpage Hidden
- FGsetcolor 1
- FGrect 0, 95, 0, 49
- FGsetcolor 15
- FGmove 48, 25
- FGellipse 20, 20
-
- REM display the animated object against each background
-
- FGsetcolor 10
- Offset = -10
- FOR I = 1 TO 11
- X = Xmin(I)
- Y = Ymax(I)
- FGtransfer 0, 95, 0, 49, X, Y, Hidden, Hidden
- FGsetclip X, X+95, 0, 199
- FGclprect X+Offset, X+Offset+19, Y-29, Y-20
- Offset = Offset + 10
- NEXT
-
- REM slide the object across the background three times
-
- FOR I = 0 TO 35
- Frame = I MOD 12
- X = Xmin(Frame)
- Y = Ymax(Frame)
- FGtransfer X, X+95, Y-49, Y, 112, 124, Hidden, Visual
- FGwaitfor 2
- NEXT
-
- REM restore the original video mode and return to DOS
-
- Status = FGfreepage(Hidden)
- FGsetmode OldMode
- FGreset
-
- END